package com.hmall.api;

import com.hmall.common.utils.UserContext;
import feign.RequestInterceptor;
import feign.RequestTemplate;

/**
 * 对Feign的统一处理：在Feign发出HTTP请求之前，统一增加请求头user-info，值是当前用户id
 * 写法：
 *  1. 创建类，实现feign提供的RequestInterceptor接口
 *  2. 重写接口apply方法：对requestTemplate做设置，就是对请求做的统一处理
 * @author liuyp
 * @since 2025/9/2
 */
public class FeignUserInfoInterceptor implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate template) {
        Long userId = UserContext.getUser();
        if (userId != null) {
            template.header("user-info", userId.toString());
        }
    }
}
